package com.best.intelligentTrolley

import com.blankj.utilcode.util.SPUtils
import java.math.RoundingMode
import java.text.DecimalFormat
import kotlin.math.max

object Config {

    /**
     * 获取等离子最长使用时长
     */
    fun getMaxPlasmaUseTimeMillis(): Int {
        return 8000 * 60 * 60
    }

    /**
     * 获取等离子模块总使用时长，单位秒
     */
    fun getPlasmaModuleUsageTime(): Int {
        return SPUtils.getInstance().getInt("PlasmaModuleUsageTime", 0)
    }

    /**
     * 增加等离子使用时间,单位秒
     */
    fun addPlasmaModuleUsageTime(minute: Int) {
        val m: Int = getPlasmaModuleUsageTime() + minute
        SPUtils.getInstance().put("PlasmaModuleUsageTime", m)
    }

    /**
     * 重置等离子使用时长到0
     */
    fun resetPlasmaModuleUsageTime() {
        SPUtils.getInstance().put("PlasmaModuleUsageTime", 0, true)
    }

    /**
     * 获取解析器剩余寿命，单位：百分比
     */
    fun getPlasmaModulePeriodOfValidity(): String {
        val percent = max(1 - getPlasmaModuleUsageTime() / getMaxPlasmaUseTimeMillis(), 0) * 100
        val format = DecimalFormat("0.##")
        //未保留小数的舍弃规则，RoundingMode.FLOOR表示直接舍弃。
        format.roundingMode = RoundingMode.FLOOR
        return "${format.format(percent)}%"
    }


}